package jdesktop.appbar.win32;

import java.awt.Rectangle;

/**
 * Delegates methods of {@link WindowMessageHandler} to another instance of the
 * same interface. Used as a base to override method implementations. 
 */
public class DelegateWindowMessageHandler implements WindowMessageHandler
{
    private WindowMessageHandler delegate;

    public DelegateWindowMessageHandler(WindowMessageHandler delegate)
    {
        this.delegate = delegate;
    }

    public DelegateWindowMessageHandler()
    {
    }

    public WindowMessageHandler getDelegate()
    {
        return delegate;
    }

    public void setDelegate(WindowMessageHandler delegate)
    {
        this.delegate = delegate;
    }

    public void onDisplayChange()
    {
        delegate.onDisplayChange();
    }

    public void onActivate()
    {
        delegate.onActivate();
    }

    public void onWindowPosChanged()
    {
        delegate.onWindowPosChanged();
    }

    public void onBoundsChanged()
    {
        delegate.onBoundsChanged();
    }

    public void onSizingOrMovingEnter()
    {
        delegate.onSizingOrMovingEnter();
    }

    public void onSizingOrMovingExit()
    {
        delegate.onSizingOrMovingExit();
    }

    public Rectangle appBarSizing(int uParam, int left, int top, int right, int bottom)
    {
        return delegate.appBarSizing(uParam, left, top, right, bottom);
    }

    public int appBarHitTest(int x, int y, int hit)
    {
        return delegate.appBarHitTest(x, y, hit);
    }
}
